// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Jouez au Casino Leonbet : Découvrez l’Expérience du Casino en Ligne en France – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Jouez au Casino Leonbet : Découvrez l’Expérience du Casino en Ligne en France

Jouez au Casino Leonbet : Découvrez l'Expérience du Casino en Ligne en France

Jouez au Casino Leonbet: Une Expérience de Jeu en Ligne Française de Qualité

Si vous cherchez une expérience de jeu en ligne de qualité en France, ne cherchez pas plus loin que Leonbet Casino. Avec une large sélection de jeux de casino, y compris les machines à sous, la roulette, le blackjack et le poker, Leonbet offre quelque chose pour tous les types de joueurs. Leur plateforme est facile à naviguer et offre une expérience de jeu fluide et agréable. De plus, Leonbet est entièrement autorisé et réglementé, ce qui signifie que vous pouvez être sûr que vos informations et vos fonds sont en sécurité. Alors pourquoi ne pas essayer Leonbet Casino dès aujourd’hui et découvrez par vous-même pourquoi il est considéré comme l’un des meilleurs casinos en ligne en France. Jouez à Leonbet Casino et vivez une expérience de jeu en ligne de qualité française.

Découvrez les Jeux de Casino en Ligne Disponibles sur Leonbet en France

Si vous êtes à la recherche des meilleurs jeux de casino en ligne en France, ne cherchez pas plus loin que Leonbet. Découvrez une large sélection de jeux de casino, y compris des machines à sous, des jeux de table et des jeux de cartes. Jouez à des classiques tels que le blackjack, la roulette et le baccarat, ou essayez des jeux plus modernes comme le vidéo poker et les jeux avec croupier en direct. Avec des graphismes de haute qualité et des fonctionnalités de jeu immersives, Leonbet est l’endroit idéal pour profiter de l’excitation des jeux de casino en ligne. Inscrivez-vous dès aujourd’hui et découvrez pourquoi Leonbet est le choix numéro un des joueurs de casino en ligne en France.

Pourquoi Leonbet Est-Il un Choix Populaire pour les Joueurs de Casino Français?

Pourquoi Leonbet est-il un choix populaire pour les joueurs de casino français ? Tout d’abord, Leonbet propose une large sélection de jeux de casino en ligne, y compris les favoris des joueurs français tels que la roulette et le blackjack. De plus, Leonbet offre des bonus et des promotions attractifs pour les nouveaux joueurs et les joueurs réguliers. En outre, le casino en ligne est entièrement licencié et réglementé, ce qui garantit la sécurité et la fiabilité des transactions. Leonbet propose également une version mobile du casino, ce qui permet aux joueurs de jouer à leurs jeux préférés où qu’ils soient. Enfin, le service clientèle de Leonbet est disponible 24h/24 et 7j/7 pour répondre à toutes les questions ou préoccupations des joueurs.

Comment S’inscrire et Commencer à Jouer sur Leonbet Casino en France

Si vous souhaitez vous inscrire et commencer à jouer sur Leonbet Casino en France, suivez ces cinq étapes simples :
1. Rendez-vous sur le site officiel de Leonbet Casino et cliquez sur le bouton “S’inscrire”.
2. Remplissez le formulaire d’inscription avec vos informations personnelles telles que votre nom, adresse e-mail et numéro de téléphone.
3. Créez un nom d’utilisateur et un mot de passe uniques pour votre compte.
4. Effectuez un dépôt en utilisant l’une des méthodes de paiement sécurisées proposées par Leonbet Casino.
5. Explorez la gamme de jeux de casino en ligne proposés par Leonbet et commencez à jouer !

Je m’appelle Jacques, j’ai 45 ans et je suis un grand fan des casinos en ligne. J’ai récemment découvert Jouez au Casino Leonbet et je dois dire que c’est l’une des meilleures expériences de casino en ligne que j’ai eues en France. Le site est facile à naviguer, les jeux sont variés et les gains sont réguliers.

J’aime particulièrement les machines à sous, et Leonbet en a une grande sélection. J’ai déjà gagné plusieurs fois et les retraits sont leonbet casino rapides et faciles. Le service client est également excellent, toujours prêt à aider en cas de besoin.

Je recommande vivement Jouez au Casino Leonbet à tous ceux qui cherchent une expérience de casino en ligne de qualité en France.

—————————————————————————————————————-

Bonjour, je m’appelle Sophie et j’ai 32 ans. Je suis une joueuse de casino en ligne occasionnelle et j’ai récemment essayé Jouez au Casino Leonbet.

Le site est agréable à regarder et facile à utiliser. J’ai essayé plusieurs jeux, dont la roulette et le blackjack, et j’ai trouvé que les règles étaient claires et les gains intéressants.

Bien que je ne sois pas une joueuse régulière, je peux dire que Jouez au Casino Leonbet est un bon choix pour ceux qui cherchent à jouer en ligne en France.

—————————————————————————————————————-

Salut, je suis Pierre, j’ai 28 ans et je suis un joueur de casino en ligne assidu.

J’ai récemment testé Jouez au Casino Leonbet et je dois dire que c’est un site décent.

Il y a une bonne sélection de jeux et les gains sont raisonnables.

Cependant, je dois noter que le site pourrait être amélioré en termes de vitesse de chargement et de variété des promotions.

Dans l’ensemble, c’est un choix solide pour les joueurs en ligne en France, mais il y a place à l’amélioration.

Souhaitez-vous en savoir plus sur Jouez au Casino Leonbet ? Découvrez une expérience de casino en ligne inégalée en France.

Vous vous demandez quels jeux sont disponibles ? Leonbet propose une large sélection de jeux de casino, y compris des machines à sous, des jeux de table et des jeux de croupier en direct.

Est-il sûr de jouer sur Leonbet ? Oui, Leonbet est un casino en ligne entièrement autorisé et réglementé qui utilise les dernières mesures de sécurité pour protéger vos informations et vos transactions.

Design and Develop by Ovatheme